package com.manage.pojo.entity.case_manage;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

@Schema(description = "案件管理查询响应参数")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CaseManageDataInfo {
    @Schema(description = "列表数据")
    private List<CaseManageDataList> caseManageDataList;


    @Schema(description = "全部案件数量", example = "100")
    private int totalNumber; // 全部数量

    @Schema(description = "委托案件数量", example = "50")
    private int entrustedNumber; // 委托数量

    @Schema(description = "诉前阶段案件数量", example = "20")
    private int preLitigationNumber; // 诉前数量

    @Schema(description = "诉讼阶段案件数量", example = "30")
    private int litigationNumber; // 诉讼数量

    @Schema(description = "已判决但未执行的案件数量", example = "10")
    private int judgedButNotExecutedNumber; // 已判未执行数量

    @Schema(description = "执行阶段案件数量", example = "15")
    private int executedNumber; // 执行数量

    @Schema(description = "已结案的案件数量", example = "40")
    private int closedCaseNumber; // 已结案件数量

    @Schema(description = "未结案的案件数量", example = "60")
    private int openCaseNumber; // 未结案件数量

    @Schema(description = "已结案案件的律师费总金额", example = "100000.00")
    private BigDecimal closedCaseLawyerFeeAmount; // 已结律师费金额

    @Schema(description = "案件完成状态的比例（如0.8表示80%）", example = "0.8")
    private double completionStatusRatio; // 完成状态比例数

    // 银行列表
    @Schema(description = "涉及的银行名称列表", example = "[\"中国银行\", \"工商银行\", \"建设银行\"]")
    private List<String> bankList;

    // 支行列表
    @Schema(description = "涉及的支行名称列表", example = "[\"中国银行北京朝阳支行\", \"工商银行上海浦东支行\"]")
    private List<String> branchList;

    // 承接律师列表
    @Schema(description = "承接案件的律师姓名列表", example = "[\"张三\", \"李四\", \"王五\"]")
    private List<String> granteeLawyerList;

    // 主办律师列表
    @Schema(description = "主办案件的律师姓名列表", example = "[\"赵六\", \"孙七\"]")
    private List<String> sponsorLawyerList;

    // 负责律师列表
    @Schema(description = "负责案件的律师姓名列表", example = "[\"周八\", \"吴九\"]")
    private List<String> principalLawyerList;

}
